package daily.oct1002;

/*
    文件复制练习:一读一写

    明确:
        数据源: c:\\1.jpg
        数据的目的地: d:\\1.jpg

    文件复制的步骤:
        1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
        2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
        3.使用字节输入流对象中的方法read读取文件
        4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
        5.释放资源(先关写的再关读的)
 */

import jdk.nashorn.internal.ir.CallNode;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyFileTest {
    public static void main(String[] args) throws IOException, InterruptedException {
        //1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
        FileInputStream fis = new FileInputStream("D:\\Download\\Windows\\Theme\\Footpaths\\DesktopBackground\\paths9.jpg");
        //2.2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
        FileOutputStream fos = new FileOutputStream("src\\daily\\oct1001\\Out\\1.jpg");
        int dataRead;
        //3.使用字节输入流对象中的方法read读取文件
//        while((dataRead = fis.read()) != -1){
//            //4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
//            System.out.println(dataRead);
//            fos.write(dataRead);
//        }
        //3.使用数组读取
        byte[] array = new byte[1024];
        int dataQuantity;
        while ((dataQuantity = fis.read(array)) != -1){
            System.out.println(dataQuantity);
            fos.write(array);
        }
        //5.释放资源
        fos.close();
        fis.close();
    }
}
